package solicitudes.service;

import java.util.List;


import solicitudes.dao.DAOSolicitud;
import solicitudes.entity.Solicitud;
import solicitudes.entity.Compra;
import solicitudes.entity.TipoSolicitud;
import solicitudes.exception.DaoException;
import solicitudes.exception.ServiceException;
import solicitudes.validaciones.Validaciones;

public class SolicitudService {
	
	private DAOSolicitud daoSolicitud;
	
	public DAOSolicitud getDaoSolicitud() {
		return daoSolicitud;
	}

	public void setDaoSolicitud(DAOSolicitud daoSolicitud) {
		this.daoSolicitud = daoSolicitud;
	}
	
	public void guardarSolicitud(Compra compra, TipoSolicitud tipo, String descripcion) throws DaoException, ServiceException{
		
		Solicitud solicitud = null;
		
		if(Validaciones.esTextoVacio(descripcion)){
			throw new ServiceException("La descripcion no puede ser nula, ni una cadena de caracteres vacia");
		}
		
		
		solicitud = new Solicitud();
		solicitud.setCompra(compra);
		solicitud.setTipoSolicitud(tipo);
		solicitud.setDescripcion(descripcion);
	
		
		daoSolicitud.guardarSolicitud(solicitud);
	}
	
	public List<Solicitud> obtener() throws DaoException{
		return daoSolicitud.obtenerSolicitudes();
	}
	
	public Solicitud obtener(int codigo) throws DaoException, ServiceException{
		
		return daoSolicitud.obtenerSolicitud(codigo);
	}
}
